# !usr/bin/env python
# -*-coding:utf-8 -*-

# @FileName: receive.py
# @Author:tian
# @Time:06/19/2021


import sys, os, pika

def main():
    connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
    channel = connection.channel()

    channel.queue_declare(queue='hello')

    def callback(ch, method, properties, body):
        print(" [x] Received %r" % body)

    # no_ack消费者在处理任务的时候要不需要确认任务已经处理完成，改为False则要确认
    channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)

    print('[*] Waiting for messages. To exit press CTRL+C')
    channel.start_consuming()

if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        print('Interrupted')
        try:
            sys.exit(0)
        except SystemExit:
            os._exit(0)


